package com.htandroid.htandroid.webservice;

import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.ArrayList;

import org.xmlpull.v1.XmlPullParser;


import android.util.Xml;

import com.htandroid.htandroid.entity.GcwxVouchs;

public class XMLGcwxVouchslist {

    /**
     * 解析评论xml信息
     *
     * @param result
     * @return
     */
    public static ArrayList<GcwxVouchs> paraseCommentInfors(String result) {
        ArrayList<GcwxVouchs> list = new ArrayList<GcwxVouchs>();
        //字符转换成字节流
        InputStream inputStream = new ByteArrayInputStream(result.getBytes());
        XmlPullParser parser = Xml.newPullParser();

        try {
            parser.setInput(inputStream, "UTF-8");
            int eventType = parser.getEventType();
            GcwxVouchs info = new GcwxVouchs();

            while (eventType != XmlPullParser.END_DOCUMENT) {
                switch (eventType) {
                    case XmlPullParser.START_DOCUMENT:// 文档开始事件,可以进行数据初始化处理
                        break;
                    case XmlPullParser.START_TAG:// 开始元素事件
                        String name = parser.getName();
                        if (name.equalsIgnoreCase("GcwxVouchs")) {
                            info = new GcwxVouchs();
                        } else {
                            eventType = parser.next();
                            if (name.equalsIgnoreCase("autoid")) {
                                info.setAutoid(string2null(parser.getText()));
                            } else if (name.equalsIgnoreCase("cvouchid")) {
                                info.setCvouchid(string2null(parser.getText()));
                            } else if (name.equalsIgnoreCase("cinvcode")) {
                                info.setCinvcode(string2null(parser.getText()));
                            } else if (name.equalsIgnoreCase("iquantity")) {
                                info.setIquantity(string2null(parser.getText()));
                            } else if (name.equalsIgnoreCase("iprice")) {
                                info.setIprice(string2null(parser.getText()));
                            } else if (name.equalsIgnoreCase("iamount")) {
                                info.setIamount(string2null(parser.getText()));
                            } else if (name.equalsIgnoreCase("cmemo")) {
                                info.setCmemo(string2null(parser.getText()));
                            } else if (name.equalsIgnoreCase("igetpricenum")) {
                                info.setIgetpricenum(string2null(parser.getText()));
                            } else if (name.equalsIgnoreCase("cobjcode")) {
                                info.setCobjcode(string2null(parser.getText()));
                            } else if (name.equalsIgnoreCase("cobjname")) {
                                info.setCobjname(string2null(parser.getText()));
                            } else if (name.equalsIgnoreCase("cshdefine1")) {
                                info.setCshdefine1(string2null(parser.getText()));
                            } else if (name.equalsIgnoreCase("cshdefine2")) {
                                info.setCshdefine2(string2null(parser.getText()));
                            } else if (name.equalsIgnoreCase("cshdefine3")) {
                                info.setCshdefine3(string2null(parser.getText()));
                            } else if (name.equalsIgnoreCase("cinvname")) {
                                info.setCinvname(string2null(parser.getText()));
                            } else if (name.equalsIgnoreCase("cinvstd")) {
                                info.setCinvstd(string2null(parser.getText()));
                            } else if (name.equalsIgnoreCase("cinvm_unit")) {
                                info.setCinvm_unit(string2null(parser.getText()));
                            } else if (name.equalsIgnoreCase("cs_iquantity")) {
                                info.setCs_iquantity(string2null(parser.getText()));
                            } else if (name.equalsIgnoreCase("cs_icquantity")) {
                                info.setCs_icquantity(string2null(parser.getText()));
                            } else if (name.equalsIgnoreCase("cs_idquantity")) {
                                info.setCs_idquantity(string2null(parser.getText()));
                            }
                        }
                        break;
                    case XmlPullParser.END_TAG:// 结束元素事件
                        if (parser.getName().equalsIgnoreCase("GcwxVouchs")) {
                            list.add(info);
                            info = null;
                        }
                        break;
                }
                eventType = parser.next();
            }
            inputStream.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return list;
    }

    //函数作用是把null 转为空
    public static String string2null(String str) {
        String rtn = "";
        if (str == null || str.equals("null") || str.equals("anyType{}")) {
            rtn = "";
        } else {
            rtn = str;
        }
        return rtn;
    }

}  
